/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Principal.java
 *
 * Created on 19/06/2011, 23:33:20
 */
package visuales;

import conexion.GestorConexion;
import entidades.TipoEvento;
import gestores.GestorProduccion;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author Facundo
 */
public class Principal extends javax.swing.JFrame {

    private GestorProduccion gp;

    public Principal() {
        initComponents();
        this.gp=new GestorProduccion();
        this.setSize(800, 600);
        this.setMaximumSize(this.getSize());
        this.setIconImage(getIconImage());
        this.setLocation(250, 100);
        this.actividadesDia();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        menuBarra = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jmiSalir = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jmiRegistrarNacimiento = new javax.swing.JMenuItem();
        jmiRegistrarIngreso = new javax.swing.JMenuItem();
        jmiRegistrarMuerte = new javax.swing.JMenuItem();
        jmiRegistrarDestete = new javax.swing.JMenuItem();
        jmiRegistrarRalgro = new javax.swing.JMenuItem();
        jmiRegistrarPeleteo = new javax.swing.JMenuItem();
        jmiRegistrarFamilia = new javax.swing.JMenuItem();
        jmiEnfermedad = new javax.swing.JMenuItem();
        jmiCuracion = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jmiConsultarActividades = new javax.swing.JMenuItem();
        jmiRegistrarActividades = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();
        jmiInformeFamilia = new javax.swing.JMenuItem();
        jmiInformeBateria = new javax.swing.JMenuItem();
        jmiHistorial = new javax.swing.JMenuItem();
        jmiHistEvento = new javax.swing.JMenuItem();
        jMenu6 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenu5 = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("PampaChin- Principal");
        setBackground(new java.awt.Color(204, 204, 204));
        setMinimumSize(new java.awt.Dimension(800, 600));
        setResizable(false);

        jMenu1.setText("Archivo");

        jmiSalir.setText("Salir");
        jmiSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiSalirActionPerformed(evt);
            }
        });
        jMenu1.add(jmiSalir);

        menuBarra.add(jMenu1);

        jMenu2.setText("Actividades");

        jmiRegistrarNacimiento.setText("Nacimiento");
        jmiRegistrarNacimiento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarNacimientoActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarNacimiento);

        jmiRegistrarIngreso.setText("Compra animal");
        jmiRegistrarIngreso.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarIngresoActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarIngreso);

        jmiRegistrarMuerte.setText("Muerte");
        jmiRegistrarMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarMuerteActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarMuerte);

        jmiRegistrarDestete.setText("Destetar");
        jmiRegistrarDestete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarDesteteActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarDestete);

        jmiRegistrarRalgro.setText("Ralgrear");
        jmiRegistrarRalgro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarRalgroActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarRalgro);

        jmiRegistrarPeleteo.setText("Peletear");
        jmiRegistrarPeleteo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarPeleteoActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarPeleteo);

        jmiRegistrarFamilia.setText("Conformar familia");
        jmiRegistrarFamilia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiRegistrarFamiliaActionPerformed(evt);
            }
        });
        jMenu2.add(jmiRegistrarFamilia);

        jmiEnfermedad.setText("Enfermedad");
        jmiEnfermedad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiEnfermedadActionPerformed(evt);
            }
        });
        jMenu2.add(jmiEnfermedad);

        jmiCuracion.setText("Curacion");
        jmiCuracion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiCuracionActionPerformed(evt);
            }
        });
        jMenu2.add(jmiCuracion);

        menuBarra.add(jMenu2);

        jMenu3.setText("Agenda");

        jmiConsultarActividades.setText("Consultar actividades");
        jmiConsultarActividades.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiConsultarActividadesActionPerformed(evt);
            }
        });
        jMenu3.add(jmiConsultarActividades);

        jmiRegistrarActividades.setText("Registrar actividades");
        jMenu3.add(jmiRegistrarActividades);

        menuBarra.add(jMenu3);

        jMenu4.setText("Informes");

        jmiInformeFamilia.setText("Familias");
        jMenu4.add(jmiInformeFamilia);

        jmiInformeBateria.setText("Baterias");
        jMenu4.add(jmiInformeBateria);

        jmiHistorial.setText("Historiales");
        jmiHistorial.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiHistorialActionPerformed(evt);
            }
        });
        jMenu4.add(jmiHistorial);

        jmiHistEvento.setText("Historiales por evento");
        jmiHistEvento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiHistEventoActionPerformed(evt);
            }
        });
        jMenu4.add(jmiHistEvento);

        menuBarra.add(jMenu4);

        jMenuItem1.setText("Generar Pedido de Insumos");
        jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jMenuItem1MouseClicked(evt);
            }
        });
        jMenu6.add(jMenuItem1);

        jMenuItem2.setText("Anular Pedido de Insumos");
        jMenu6.add(jMenuItem2);

        jMenuItem3.setText("Consultar Estado de Pedido");
        jMenu6.add(jMenuItem3);

        menuBarra.add(jMenu6);

        jMenu5.setText("Ayuda");
        menuBarra.add(jMenu5);

        setJMenuBar(menuBarra);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 800, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 579, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jmiSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiSalirActionPerformed
        // Salir de la aplicacion
        System.exit(0);
    }//GEN-LAST:event_jmiSalirActionPerformed

    private void jmiRegistrarNacimientoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarNacimientoActionPerformed
        // TODO add your handling code here:
        AbmAnimal abm = new AbmAnimal(this, 0);
        abm.setVisible(true);
        this.setVisible(false);
    }//GEN-LAST:event_jmiRegistrarNacimientoActionPerformed

    private void jmiRegistrarIngresoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarIngresoActionPerformed
        AbmAnimal abm = new AbmAnimal(this, 1);
        this.setVisible(false);
        abm.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarIngresoActionPerformed

    private void jmiRegistrarMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarMuerteActionPerformed
        AbmAnimal abm = new AbmAnimal(this, 2);
        abm.setVisible(true);
        this.setVisible(false);
    }//GEN-LAST:event_jmiRegistrarMuerteActionPerformed

    private void jmiRegistrarDesteteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarDesteteActionPerformed
        AbmAnimal2 abm = new AbmAnimal2(this, 0);
        this.dispose();
        abm.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarDesteteActionPerformed

    private void jmiRegistrarRalgroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarRalgroActionPerformed
        AbmAnimal2 abm = new AbmAnimal2(this, 1);
        this.dispose();
        abm.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarRalgroActionPerformed

    private void jmiRegistrarPeleteoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarPeleteoActionPerformed
        AbmAnimal2 abm = new AbmAnimal2(this, 2);
        this.dispose();
        abm.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarPeleteoActionPerformed

    private void jmiRegistrarFamiliaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiRegistrarFamiliaActionPerformed

        Visual_familia fam = new Visual_familia(this);
        this.dispose();
        fam.setVisible(true);
    }//GEN-LAST:event_jmiRegistrarFamiliaActionPerformed

    private void jmiHistorialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiHistorialActionPerformed
        VisualHistorial vhist = new VisualHistorial(this);
        this.dispose();
        vhist.setVisible(true);
    }//GEN-LAST:event_jmiHistorialActionPerformed

    private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenuItem1MouseClicked
        Pedido p = new Pedido(this);
        // this.dispose();
        p.setVisible(true);
    }//GEN-LAST:event_jMenuItem1MouseClicked

    private void jmiHistEventoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiHistEventoActionPerformed
        Historial_evento hist = new Historial_evento(this);
        this.dispose();
        hist.setVisible(true);
    }//GEN-LAST:event_jmiHistEventoActionPerformed

    private void jmiEnfermedadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiEnfermedadActionPerformed
        HistoriaClinica histClinica = new HistoriaClinica(this,0);
        this.dispose();
        histClinica.setVisible(true);
    }//GEN-LAST:event_jmiEnfermedadActionPerformed

    private void jmiCuracionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiCuracionActionPerformed
        HistoriaClinica histClinica = new HistoriaClinica(this,1);
        this.dispose();
        histClinica.setVisible(true);
    }//GEN-LAST:event_jmiCuracionActionPerformed

    private void jmiConsultarActividadesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiConsultarActividadesActionPerformed
        Plan plan=new Plan(this);
        this.dispose();
        plan.setVisible(true);
    }//GEN-LAST:event_jmiConsultarActividadesActionPerformed

    /**
     * @param args the command line arguments
//     */
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//            public void run() {
//                new Principal().setVisible(true);
//            }
//        });
//    }
////    otros metodos
////    metodo para crear una imagen utilizada como icono de la ventana
    @Override
    public Image getIconImage() {
        Image retValue = Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("visuales/iconoPrincipal.png"));
        return retValue;
    }

    private void actividadesDia() {
        boolean res=this.gp.actividadesDia();
        if(res)
            JOptionPane.showMessageDialog(null, "Hay actividades de DESTETE, RALGRO o PELETEO por realizar en el dia de hoy","Atencion",JOptionPane.INFORMATION_MESSAGE);
    }

    //Clase que crea un panel para poder poner una imagen de fondo en la ventana
    public class panelFondo extends javax.swing.JPanel {

        public panelFondo() {
            initComponents();
            this.setSize(800, 600);
        }

        @Override
        public void paintComponent(Graphics g) {
            Dimension tamanio = getSize();
            ImageIcon imagenFondo = new ImageIcon(getClass().getResource("pampachin/fondoPrincipal.jpg"));
            g.drawImage(imagenFondo.getImage(), 0, 0, tamanio.width - 5, tamanio.height - 50, null);
            setOpaque(false);
            super.paintComponent(g);
        }
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu5;
    private javax.swing.JMenu jMenu6;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jmiConsultarActividades;
    private javax.swing.JMenuItem jmiCuracion;
    private javax.swing.JMenuItem jmiEnfermedad;
    private javax.swing.JMenuItem jmiHistEvento;
    private javax.swing.JMenuItem jmiHistorial;
    private javax.swing.JMenuItem jmiInformeBateria;
    private javax.swing.JMenuItem jmiInformeFamilia;
    private javax.swing.JMenuItem jmiRegistrarActividades;
    private javax.swing.JMenuItem jmiRegistrarDestete;
    private javax.swing.JMenuItem jmiRegistrarFamilia;
    private javax.swing.JMenuItem jmiRegistrarIngreso;
    private javax.swing.JMenuItem jmiRegistrarMuerte;
    private javax.swing.JMenuItem jmiRegistrarNacimiento;
    private javax.swing.JMenuItem jmiRegistrarPeleteo;
    private javax.swing.JMenuItem jmiRegistrarRalgro;
    private javax.swing.JMenuItem jmiSalir;
    private javax.swing.JMenuBar menuBarra;
    // End of variables declaration//GEN-END:variables
}
